home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / cprog / aedoor4.lha / AEDoor.h < prev   
Encoding:
C/C++ Source or Header  |  1993-04-18  |  11.5 KB  |  210 lines

  1. /* 
  2. ** Name    : AEDoor.h 
  3. ** Version : 1.3 
  4. ** Date    : 18 Apr 1993 
  5. ** Author  : CFi/Eclipse 
  6. ** (c) 1993 all rights reserved. Compile with SAS/C v6.x
  7. */ 
  8.  
  9. /*      Include Files                           */
  10. #include    <proto/exec.h>
  11. #include    <proto/dos.h>
  12. #include    <exec/memory.h>
  13. #include    <stdlib.h>
  14. #include    <string.h>
  15. #include    <clib/alib_stdio_protos.h>
  16.  
  17. /*      Definations of Commands                 */
  18. #define JH_LI           0               /* Request string of information */
  19. #define JH_REGISTER     1               /* Register a door with node */
  20. #define JH_SHUTDOWN     2               /* Tell Node to shutdown Port */
  21. #define JH_WRITE        3               /* Send a text string to User */
  22. #define JH_SM           4               /* Send a text string to User+CR/LF */
  23. #define JH_PM           5               /* Prompt User for a count of chars */
  24. #define JH_HK           6               /* GetChar */
  25. #define JH_SG           7               /* Display a text file to User */
  26. #define JH_SF           8               /* Display a text file to User */
  27. #define JH_EF           9               /* Edit own file */
  28. #define JH_CO           10              /* Send text to console only */
  29. #define JH_BBSNAME      11              /* Retrieve BBS-Name */
  30. #define JH_SYSOP        12              /* Retrieve SYSOP-Name */
  31. #define JH_FLAGFILE     13              /* Add file to list of tagged files */
  32. #define JH_SHOWFLAGS    14              /* Obsolete, DO NOT USE */
  33. #define JH_ExtHK        15              /* Reserved, DO NOT USE */
  34. #define JH_SIGBIT       16              /* Reserved, DO NOT USE */
  35. #define JH_FetchKey     17              /* Reserved, DO NOT USE */
  36.  
  37. #define DT_NAME         100             /* Retrieve/Change User-Name */
  38. #define DT_PASSWORD     101             /* Retrieve/Change U-Password */
  39. #define DT_LOCATION     102             /* Retrieve/Change U-Location */
  40. #define DT_PHONENUMBER  103             /* Retrieve/Change U-Phonenumber */
  41. #define DT_SLOTNUMBER   104             /* Retrieve/Change U-Slotnumber */
  42. #define DT_ACCESSLEVEL  105             /* Retrieve/Change U-Acesslevel */
  43. #define DT_RATIOTYPE    106             /* Retrieve/Change U-Ratiotype */
  44. #define DT_RATIO        107             /* Retrieve/Change U-Ratio */
  45. #define DT_COMPTYPE     108             /* Retrieve/Change U-Computertype */
  46. #define DT_MESSAGESPOSTED       109     /* Retrieve/Change U-MsgPosted */
  47. #define DT_UPLOADS      110             /* Retrieve/Change U-Uploads */
  48. #define DT_DOWNLOADS    111             /* Retrieve/Change U-Downloads */
  49. #define DT_TIMESCALLED  112             /* Retrieve/Change U-Calls */
  50. #define DT_TIMELASTON   113             /* Retrieve/Change U-LastOn */
  51. #define DT_TIMEUSED     114             /* Retrieve/Change U-TimeUsed */
  52. #define DT_TIMELIMIT    115             /* Retrieve/Change U-TimeLimit */
  53. #define DT_TIMETOTAL    116             /* Retrieve/Change U-TimeTotal */
  54. #define DT_BYTESUPLOAD  117             /* Retrieve/Change U-BytesUploads */
  55. #define DT_BYTESDOWNLOAD        118     /* Retrieve/Change U-BytesDownloads */
  56. #define DT_DAILYBYTELIMIT       119     /* Retrieve/Change U-ByteLimit */
  57. #define DT_DAILYBYTEDLD 120             /* Retrieve/Change U-ByteDownloaded */
  58. #define DT_EXPERT       121             /* Retrieve/Change U-ExpertMode */
  59. #define DT_LINELENGTH   122             /* Retrieve/Change U-LineLength */
  60.  
  61. #define ACTIVE_NODES    123             /* Retrive a str of (in)active nodes */
  62. #define DT_DUMP         124             /* Dump U-Data to a file */
  63. #define DT_TIMEOUT      125             /* Retrieve/Change Door TimeoutLimit */
  64.  
  65. #define BB_CONFNAME     126             /* Retrieve/Change Conference Name */
  66. #define BB_CONFLOCAL    127             /* Retrieve/Change Conference Location */
  67. #define BB_LOCAL        128             /* Retrieve The current BBS Location */
  68. #define BB_STATUS       129             /* Retrieve The Offline/Online Status */
  69. #define BB_COMMAND      130             /* Obsolete, DO NOT USE */
  70. #define BB_MAINLINE     131             /* Retrieve argument on menuprompt */
  71.  
  72. #define NB_LOAD         132             /* Obsolete, DO NOT USE */
  73. #define DT_USERLOAD     133             /* Obsolete, DO NOT USE */
  74. #define BB_CONFIG       134             /* Obsolete, DO NOT USE */
  75. #define CHG_USER        135             /* Obsolete, DO NOT USE */
  76.  
  77. #define RETURNCOMMAND   136             /* Execute Internal Comm, after door */
  78. #define ZMODEMSEND      137             /* Send file to the User */
  79. #define ZMODEMRECEIVE   138             /* Receive batch uploads */
  80. #define SCREEN_ADRESS   139             /* Retrieve screen adress in HEX */
  81. #define BB_TASKPRI      140             /* Retrieve Pri of node */
  82. #define RAWSCREEN_ADRESS        141     /* Retrieve screen adress in DEC */
  83. #define BB_CHATFLAG     142             /* Retrieve chat setting */
  84.  
  85. #define DT_STAMP_LASTON 143             /* Retrieve date-string U-LastOn */
  86. #define DT_STAMP_CTIME  144             /* Retrieve time-string current */
  87. #define DT_CURR_TIME    145             /* Retrieve time-string julian-date in SEC */
  88. #define DT_CONFACCESS   146             /* Retrieve U-ConferenceAccess */
  89.  
  90. #define BB_PCONFLOCAL   147             /* Reserved, DO NOT USE */
  91. #define BB_PCONFNAME    148             /* Reserved, DO NOT USE */
  92. #define BB_NODEID       149             /* Retrieve Node number current node */
  93. #define BB_CALLERSLOG   150             /* Add a line to the CallersLog */
  94. #define BB_UDLOG        151             /* Add a line to the UdLog */
  95. #define EXPRESS_VERSION 152             /* Retrieve version string */
  96. #define SV_UNICONIFY    153             /* Reserved, DO NOT USE */
  97. #define BB_CHATSET      162             /* Retrieve/Change the chat status */
  98. #define ENVSTAT         163             /* Retrieve/Change env stat var */
  99.  
  100. #define GETKEY          500             /* Reserved, DO NOT USE */
  101. #define RAWARROW        501             /* Reserved, DO NOT USE */
  102. #define CHAIN           502             /* Reserved, DO NOT USE */
  103. #define NODE_DEVICE     503             /* Retrieve node device name */
  104. #define NODE_UNIT       504             /* Retrieve node unit number */
  105. #define NODE_BAUD       505             /* Retrieve node init baudrate */
  106. #define NODE_NUMBER     506             /* Obsolete, DO NOT USE */
  107.  
  108. #define JH_MCI          507             /* Send MCI text to express */
  109. #define PRV_COMMAND     508             /* Execute internal /X command immed */
  110. #define PRV_GROUP       509             /* Reserved, DO NOT USE */
  111.  
  112. #define BB_CONFNUM      510             /* Retrieve conference number curr. */
  113. #define BB_DROPDTR      511             /* Drop carrier on a user */
  114. #define BB_GETTASK      512             /* Finds curr. node task adress */
  115.  
  116. #define BB_REMOVEPORT   513             /* Obsolete, DO NOT USE */
  117. #define BB_SOPT         514             /* Obsolete, DO NOT USE */
  118.  
  119. #define NODE_BAUDRATE   516             /* Retrieve U-Connect rate */
  120. #define BB_LOGONTYPE    517             /* Retrieve the LOGONTYPE */
  121.  
  122. #define BB_SCRLEFT      518             /* Retrieve screen leftedge coord. */
  123. #define BB_SCRTOP       519             /* Retrieve screen topedge  coord. */
  124. #define BB_SCRWIDTH     520             /* Retrieve screen width */
  125. #define BB_SCRHEIGHT    521             /* Retrieve screen height */
  126.  
  127. #define BB_PURGELINE    522             /* Abort serial input, request more */
  128. #define BB_PURGELINESTART       523     /* Clear serial buffer, request more */
  129. #define BB_PURGELINEEND 524             /* Clear serial buffer */
  130.  
  131. #define BB_NONSTOPTEXT  525             /* Change NONSTOP text scrolling */
  132. #define BB_LINECOUNT    526             /* Retrieve/Change curr. lines viewed */
  133.  
  134. #define DT_LANGUAGE     527             /* Retrieve/Change curr. langauge */
  135. #define DT_QUICKFLAG    528             /* Change QUICKTEXT flag */
  136. #define DT_GOODFILE     529             /* Set results of tested uploadfile */
  137.  
  138. #define DT_ADDBIT       1000            /* Reserved, DO NOT USE */
  139. #define DT_REMBIT       1001            /* Reserved, DO NOT USE */
  140. #define DT_QUERYBIT     1002            /* Reserved, DO NOT USE */
  141.  
  142. #define SET_DT          0               /* JHMessage->Data = SET_DT */
  143. #define GET_DT          1               /* JHMessage->Data = GET_DT */
  144.  
  145. /*      AEDoorPort MessagePort Structure        */
  146. struct  JHMessage
  147. {
  148.         struct          Message Msg;    /* Message structure */
  149.         UBYTE           String[200];    /* Info Buffer */
  150.         LONG            Data;           /* Read/Write & result indicator */
  151.         LONG            Command;        /* Command sent from Door */
  152.         LONG            NodeID;         /* Reserved */
  153.         LONG            LineNum;        /* Reserved */
  154.         ULONG           signal;         /* Reserved */
  155.         struct  Process *task;          /* Reserved */
  156. };
  157.  
  158. /*      AEUserData Structure USER.DATA          */
  159. struct  AEUserData
  160. {
  161.         UBYTE           UserName[31];   /* Name         [30 NULL term. string] */
  162.         UBYTE           UserPass[9];    /* Password     [08 NULL term. string] */
  163.         UBYTE           UserLoc[30];    /* Location     [29 NULL term. string] */
  164.         UBYTE           UserPhon[13];   /* Phone Number [12 NULL term. string] */
  165.         UBYTE           Even1;          /* Make Even */
  166.         UWORD           UserSlot;       /* Slot Number,  0 if inactive*/
  167.         UWORD           UserSecL;       /* Security Level */
  168.         UWORD           UserRType;      /* Ratio Type */
  169.         UWORD           UserRatio;      /* Ratio */
  170.         UWORD           UserCompType;   /* Computer Type */
  171.         UWORD           UserMsgP;       /* Messages Posted */
  172.         ULONG           UserMsgLWrite;  /* Date Last wrote Message [JULIAN] */
  173.         ULONG           UserMsgHigh[9]; /* Message high in Confx */
  174.         UBYTE           UserConfA[10];  /* Conf. Access [09 NULL term. string] */
  175.         UWORD           UserUpLoads;    /* Uploads */
  176.         UWORD           UserDownLoads;  /* Downloads */
  177.         UWORD           UserAutoRejoin; /* Confx Auto Rejoin */
  178.         UWORD           UserCalls;      /* Calls to the System */
  179.         ULONG           UserTimeLast;   /* Date Last on            [JULIAN] */
  180.         ULONG           UserTimeUsed;   /* Time Used    [Today] */
  181.         ULONG           UserTimeLim;    /* Time Limit   [Call] */
  182.         ULONG           UserTimeTot;    /* Time Total   [Daily] */
  183.         LONG            UserDownByte;   /* Downloaded Bytes */
  184.         LONG            UserUpByte;     /* Uploaded Bytes */
  185.         ULONG           UserByteLim;    /* Byte Limit   [Daily] */
  186.         UBYTE           Filler1[4];     /* Filler */
  187.         UBYTE           UserExMode;     /* Export Mode  [X/N] */
  188.         UBYTE           Even2;          /* Make Even */
  189.         ULONG           UserMsgRead[9]; /* Message read in Confx */
  190.         UBYTE           Filler2[4];     /* Filler */
  191.         UBYTE           User5A;         /* \x5A */
  192.         UBYTE           UserUUCP;       /* UUCP Number */
  193.         UBYTE           UserNumLines;   /* Number of Lines */
  194.         UBYTE           UserNew;        /* NewUser      [01 == New] */
  195. };
  196.  
  197. /*      AEUserKeys Structure USER.KEYS          */
  198. struct  AEUserKeys
  199. {
  200.            UBYTE           UserName[31];   /* Name */
  201.         UBYTE           Even1;          /* Make Even */
  202.         UBYTE           Filler1[2];     /* Filler */
  203.         UWORD           UserSlot;       /* Slot Number */
  204.         UBYTE           Filler2[2];     /* Filler */
  205.         UWORD           UserUpCps;      /* Uploading   CPS-Rate */
  206.         UWORD           UserDownCps;    /* Downloading CPS-Rate */
  207.         UWORD           UserClsScr;     /* Clear Screen Codes */
  208.         UBYTE           Filler3[12];    /* Filler */
  209. };
  210.